Iso14a command group
This command group implements the low-level ISO 14443-3 (Type A) commands according to the ISO 14443-3 (Type A) standard.
A PICC compliant to ISO 14443-3 (Type A) is always in one of five states:
- Power off state
- Idle state
- Ready state
- Active state
- Halt state
As long as the PICC is not present in the HF field, it is in power off state. When the PICC gets into the field of the antenna, it automatically switches to the idle state. Once the Iso14a.Request command is invoked, PICCs in idle state will switch to the ready state. From there, a certain PICC, only one at the same time, may be switched to the active state via the Iso14a.Select command. This mechanism is identical for all ISO 14443 Type A PICCs.
PICC communication by means of APDU exchanges is subject to the ISO 14443-4 standard which is explained in detail in the Iso14L4 command group documentation. Only PICCs which are compliant to ISO 14443-4 are able to execute commands transmitted according to ISO 14443-4, providing these PICCs are in the active state. However, before the first APDU exchange can be performed, the command Iso14a.RequestATS has to be executed in order to enable the ISO 14443-4 mode in the PICC. The command Iso14a.PerformPPS can be optionally invoked after Iso14a.RequestATS in order to increase communication speed.
For proprietary PICCs that are not compliant to the ISO 14443-4 standard, the command Iso14a.TransparentCmd should be used for communication. It provides a raw communication channel between application and PICC, without any interpretation of the transferred data within the reader, and therewith allows to send/receive arbitrary command/response data to/from the PICC.
After data exchange is completed, the PICC may be switched to the halt state so that it will not respond to any command which may follow. Depending on the PICC being in 14443-4 mode or not, either a special command of the ISO 14443-4 command group or the Iso14a.Halt command have to be used for this purpose. PICCs in halt state can only be reactivated by setting as special flag in the Iso14a.Request command.
WARNING: This command set is not available in all Baltech reader firmware variants.
Status codes
BRP status | BRP Library Error Code | Mnemonic | Description |
---|---|---|---|
0x01 | 0x1301 (4865) | Iso14a.ErrNoTag | No card in field of antenna or card in field of antenna does not match the given VHL-file. |
0x02 | 0x1302 (4866) | Iso14a.ErrCollision |
More than one PICC answered in the same time slot and none of them could therefore be requested correctly. In case this status code is returned by the Iso14a.Request command, when two or more ISO 14443 Type A PICCs of different types (e.g. one Mifare Classic card and one Mifare DESFire card) are present in the HF field of the reader, the AQTA response will still be returned and the card selection procedure can be continued normally with the Iso14a.Select command. |
0x04 | 0x1304 (4868) | Iso14a.ErrHf | General HF error. |
0x06 | 0x1306 (4870) | Iso14a.ErrKey | Key error (Only triggered by Mifare authentication). |
0x07 | 0x1307 (4871) | Iso14a.ErrFrame | Bit error, Parity error or Frame error (start/stop bit). |
0x08 | 0x1308 (4872) | Iso14a.ErrCrc | CRC checksum error. |
0x10 | 0x1310 (4880) | Iso14a.ErrCom | Error in communication with reader chip. |
0x21 | 0x1321 (4897) | Iso14a.ErrEeprom | Error accessing EEPROM of the reader chip. |
0x22 | 0x1322 (4898) | Iso14a.ErrCardNotSupported | Reader chip does not support card type. |
0x23 | 0x1323 (4899) | Iso14a.ErrHwNotSupported | Command not supported by hardware. |
0x30 | 0x1330 (4912) | Iso14a.BreakErr | Command has been interrupted. |